package com.wujunshen.dumpling.core.engine;

import com.wujunshen.dumpling.core.engine.freemark.FreemarkerTemplateEngine;
import com.wujunshen.dumpling.core.engine.velocity.VelocityTemplateEngine;
import lombok.AllArgsConstructor;
import lombok.Getter;

/**
 * 模板类型
 *
 * @author frankwoo
 */
@Getter
@AllArgsConstructor
public enum EngineTemplateType {
  /** velocity 模板 */
  VELOCITY("/template/velocity/", VelocityTemplateEngine.class, ".vm"),
  /** freeMarker 模板 */
  FREEMARKER("/template/freemarker/", FreemarkerTemplateEngine.class, ".ftl");

  /** 模板目录 */
  private final String templateDir;
  /** 模板驱动实现类类型 */
  private final Class<? extends AbstractTemplateEngine> implClass;
  /** 后缀 */
  private final String suffix;
}
